1. Technical Field
The present invention relates to computer networks, and more particularly to a method and system in an Internet Protocol (IP) network for optimally dispatching IP telnet datagram traffic among multiple TN3270 Servers.
2. Description of the Related Art
SNA and IP Environment
Companies are increasingly interested in consolidating the multiple specialized networks that they operate or lease from service providers onto a single protocol network. These multiple specialized networks operate on diverse networking technologies such as Systems Network Architecture (SNA), Internet Protocol (IP) or Internetwork Packet Exchange (IPX). In making consolidation one of their top priorities, companies are almost exclusively selecting IP as their protocol of choice. For the overwhelming majority of these companies that are using SNA protocols and applications, however, there remains the need to maintain the ability to access the enormous quantity of existing corporate data that resides in traditional mainframes and only accessible through SNA applications.
Internet
The Internet is a global network of computers and computers networks (the xe2x80x9cNetxe2x80x9d). The Internet connects computers that use a variety of different operating systems or languages, including UNIX, DOS, Windows, Macintosh, and others. To facilitate and allow the communication among these various systems and languages, the Internet uses a language referred to as TCP/IP (xe2x80x9cTransmission Control Protocol/Internet Protocolxe2x80x9d). TCP/IP protocol supports three basic applications on the Internet:
(1) transmitting and receiving electronic mail,
(2) logging into remote computers (the xe2x80x9cTelnetxe2x80x9d), and
(3) transferring files and programs from one computer to another (xe2x80x9cFTPxe2x80x9d or xe2x80x9cFile Transfer Protocolxe2x80x9d).
TCP/IP
The Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite is used to establish an interconnection of networks that provide universal communication services: an internetwork, or internet. Each physical network has its own technology dependent communication interface (in the form of a programming interface) that provides basic communication functions between the physical network and the user applications. The architecture of the physical networks is hidden from the user. TCP/IP also provides interconnection between different physical networks to form what appears to the user to be one large network.
TCP is a transport layer protocol providing end-to-end data transfer and is responsible for providing a reliable exchange of information between networked computer systems. Multiple applications can be supported simultaneously over one TCP connection between two computer systems.
IP is an inter-network layer protocol hiding the physical network architecture bellow it. Part of the communicating messages between computers is a routing function that ensures that messages will be correctly directed within the network to be delivered to their destination. IP provides this routing function. An IP message is called an IP datagram.
Application Level protocols are utilized in addition to TCP/IP to transfer user and application data from a computer system to a destination computer system. Examples of such Application Level protocols include File Transfer Protocol (FTP), Telnet, Gopher, Hyper Text Transfer Protocol (HTTP).
IP Router
A xe2x80x9crouterxe2x80x9d is a computer that interconnects two networks and forwards messages from one network to the other. Routers select the best transmission path between networks utilizing the IP layer of the TCP/IP protocol stack, such that any host (or computer) or workstation running TCP/IP over more than one interface could, in theory, forward messages between networks. Because IP implements basic routing functions, the term xe2x80x9cIP routerxe2x80x9d is often used. However, dedicated network hardware routers can provide more sophisticated routing functions than the minimum functions implemented in IP.
World Wide Web
With the increasing size and complexity of the Internet, tools that are often called navigators or navigation systems have been developed to help find information on the network. Navigation systems include standards such as Archie, Gopher and, most well-known, the World Wide Web (xe2x80x9cWWWxe2x80x9d or xe2x80x9cthe Webxe2x80x9d). In addition to serving as an Internet-based navigation system, the Web is also an information distribution and management system for the Internet. The Web provides an end user with a seamlessly integrated format of information, including still images, text, audio and video. A user on the Web using a graphical user interface may transparently communicate with different host computers on the system, different system applications, and different information formats for files and documents including text, sound, and graphics.
Telnet 3270
In an IP environment, telnet technologies (TN3270) is widely utilized to transport SNA information across an IP network. This technique for SNA xe2x80x9cgreen screenxe2x80x9d workstation users employs a Client/Server approach. IBM""s xe2x80x9cHost On Demandxe2x80x9d or xe2x80x9cWebClientxe2x80x9d by CISCO are examples of client software implementations. Network Utility from IBM or CISCO router""s offerings are typical Server implementations (hardware and software). The xe2x80x9cTN3270 clientxe2x80x9d component usually runs within the customer""s workstation while the xe2x80x9cTN3270 server.xe2x80x9d component is usually placed in front of the customer""s Data Center mainframes (or sometimes directly within the mainframe itself) or within the customer""s branch offices. As illustrated in FIG. 1, IP protocols are used between a TN3270 server (102) and TN3270 clients (101), while traditional SNA protocols are used between TN3270 server (102) and target SNA Applications (103). The TN3270 client usually runs on an end user workstation.
Telnet 3270 Device Type
The characteristics of TN3270 data exchanged between TN3270 client and SNA application, depend on both the device on which the TN3270 client is located, and the SNA application. For instance, a device which is only capable of displaying information retrieved from the SNA application, is not capable of processing TN3270 print data. The characteristics of TN3270 data are partly identified by the Device Type (DEVICE-TYPE) parameter negotiated between the TN3270 client and the TN3270 server when the TN3270 connection is established. The possible values of this DEVICE-TYPE parameter are defined in the extension of the TN3270 protocol (TN3270E) described in the Request For Comments (RFCs) 2355, xe2x80x9cTN3270 Enhancementsxe2x80x9d of the Internet Engineering Task Force (IETF). Typically, the DEVICE-TYPE indicates if the device is a display terminal or a printer.
Dispatcher System
When multiple TN3270 servers are used to gain access to SNA applications located within a SNA network, a dedicated device called a xe2x80x9cdispatcher systemxe2x80x9d is often used within the TCP/IP network for dispatching the traffic to these multiple TN3270 servers. The main goal of the dispatcher system is to balance the load across the multiple TN3270. For instance, when a very powerful TN3270 server and a smaller TN3270 server are available, more traffic should be dispatched on the very powerful TN3270 server than on the smaller one. Such dispatcher systems are either dedicated hardware devices, or software components installed on existing network devices such as IP routers.
More detailed explanations of telnet, TN3270, and Network Utility, can be found in the following publications incorporated herewith by reference:
xe2x80x9cTCP/IP Tutorial and Technical Overviewxe2x80x9d by Martin W. Murhammer, Orcun Atakan, Stefan Bretz, Larry R. Pugh, Kazunari Suzuki, David H. Wood, International Technical Support Organization, October 1998, GG24-3376-05.
xe2x80x9cInternet in a nutshellxe2x80x9d by Valerie Quercia, published by O""Reilly, October 1997.
xe2x80x9cIBM 2216/Network Utility Host Channel Connectionxe2x80x9d, Erol Lengerli, Jacinta Carbonell, Thomas Grueter; IBM International Technical Support Organization, January 1999, SG24-5303-00.
xe2x80x9cIBM Network Utility Description and Configuration Scenariosxe2x80x9d, Tim Kearby, Peter Gayek, Gallus Schlegel, Imre Szabo, Zhi-Yong Zhang; IBM International Technical Support Organization, January 1999, SG24-5289-00.
xe2x80x9cInternetworking with TCP/IPxe2x80x94Volume Ixe2x80x94Principles, Protocols, and Architecturexe2x80x9d Douglas E. Comer, Second Edition, Prentice Hall 1991.
Request For Comments (RFCs) from the Internet Engineering Task Force (IETF):
RFC 1576: TN3270 Current Practices,
RFC 1646: TN3270 Extensions for LU name and Printer Selection,
RFC 1647: TN3270 Enhancements,
RFC 2355: TN3270 Enhancements.
When multiple TN3270 servers are used within a TCP/IP network to access SNA applications located within a SNA network, an optimized system and method for dispatching and balancing TN3270 traffic across these multiple TN3270 servers must be provided.
The TN3270 protocol is a form of encapsulation of the data exchanged between the TN3270 client and the SNA application. TN3270 traffic (that is the TN3270 data comprised in the IP datagrams) can have different characteristics as explained hereinbelow.
TN3270 Interactive Traffic
TN3270 traffic is considered interactive insofar as it relates to menu driven SNA applications. This situation arises, for example,.when an end user displays a screen of information retrieved from a SNA application by a TN3270 client. This screen includes multiple options. According to an option selected by a user, a next screen is retrieved from the SNA application that is different from the screen on which the options are displayed. TN3270 interactive data should be processed at a high priority level within the TCP/IP network in order to provide the best possible interaction response time to an end user.
TN3270 Print Traffic TN3270 print traffic is TN3270 data delivered by a TN3270 client to SNA applications for print. By its nature, TN3270 print traffic is less sensitive to response time than interactive traffic.
Depending on TN3270 traffic characteristics (either interactive or print), the TN3270 traffic should be processed in accordance with different priority levels within a TCP/IP network. For example, IP datagrams comprising TN3270 interactive data should be treated with a higher priority than IP datagrams comprising TN3270print data. In this manner, a better response time will be provided to the interactive traffic.
In a TN3270 environment as described above, a problem arises in that the dispatcher system processes the different types of TN3270 traffic uniformly because the dispatcher does not recognize the characteristics of the TN3270 data within a given IP datagram. As a consequence, interactive traffic and print traffic are treated alike by the dispatcher system, thus frustrating the need to allocate different priority levels to interactive and print applications.
One possible solution to this problem is to dispatch TN3270 traffic based on either the IP address of the source computer system or on the IP address of the destination computer system. However, for a given origin or destination system, TN3270 traffic is processed at a uniform priority level. IP routers and dispatcher systems acknowledge one unique TN3270 traffic priority level without differentiating the characteristics of the TN3270 data. For example, an interactive connection and a batch print connection from the same source will be processed with the same priority. Thus, a high priority interactive connection may be slowed down by a low priority print connection.
An alternate solution is to dispatch TN3270 traffic according to the Type Of Service (TOS) field within the IP datagram header. The main drawbacks of this solution are as follows. First, the TOS field must be set in the IP datagrams that the dispatcher system receives from either the source workstation system (the system which creates the IP datagram with the TOS field), or by other network devices within the TCP/IP network (for instance an IP router which includes the functionality to alter the TOS field of an IP datagram it routes). Therefore, in an TCP/IP network in which the TOS field cannot be set or used, the dispatching of TN3270 traffic in accordance with the value of the TOS field is not possible. Another problem with dispatching in accordance with TOS, is that the TOS field of IP datagrams set: by workstations or devices within the TCP/IP network may be used for alternate purposes and may not reflect the actual priority and characteristics of TN3270 data comprised in the IP datagrams.
A method and system for delivering a datagram across multiple inter-network servers are disclosed herein. The datagram is delivered from a source device having a first network level protocol to a destination device having a second network level protocol. The inter-network servers transport the datagram in accordance with a transport level protocol while the datagram has a transport priority defined by the first and second network level protocols. The source device delivers the datagram from a source port that designates the transport priority and the destination device receives the datagram at a destination port that also designates the transport priority. In accordance with the method of the present invention, either the source port or said destination port is first identified. The transport priority of said datagram is identified utilizing the transport priority designation of the identified source port or destination port. A current server capacity of each of the inter-network servers is determined. A server eligibility for each of the inter-network servers is determined in accordance with the determined current server capacity and the determined transport priority. Finally, the datagram is dispatched to one of the inter-network servers in accordance with the determined server eligibility.